package clas.ac.cn.common.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.util.List;

@Configuration
public class MessageConverterConfig  implements WebMvcConfigurer {

    /**
     * 配置了统一得响应对象commonResponse这里得消息转化器必须这样子配置。SPRING默认得消息转化会记录响应前方法上面得
     *类型，在进行一系列操作后，会通过这个记录来进行消息得转换，但是因为对象在返回途中因为添加得ADVICE而改变了。所以会造成一些错误
     * 比如原来方法是String但是因为commonResponse所以变成了对象造成了转化得错误

     * @param converters
     */
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.clear();
        converters.add(new MappingJackson2HttpMessageConverter());
    }
}
